package com.yonyougov.devops.cruxcisupport.subscribe;

import com.yonyougov.devops.cruxcisupport.subscribe.dto.SubscribeCancelDto;
import com.yonyougov.devops.cruxcisupport.subscribe.dto.SubscribeDto;
import com.yonyougov.devops.fwc.core.service.BaseService;

import java.math.BigInteger;
import java.util.List;

/**
 * t_subscribe服务
 */
public interface SubscribeService extends BaseService<SubscribeEntity, BigInteger> {
    //<!--用户自定义代码开始-->

    /**
     * 当前用户订阅应用
     *
     * @param subscribeDto [com.yonyougov.devops.cruxcisupport.subscribe.dto.SubscribeDto]
     */
    void subscribe(SubscribeDto subscribeDto);

    /**
     * 当前用户取消订阅应用
     *
     * @param subscribeCancelDto [com.yonyougov.devops.cruxcisupport.subscribe.dto.SubscribeCancelDto]
     */
    void cancelSubscribe(SubscribeCancelDto subscribeCancelDto);

    /**
     * 当前用户已订阅的应用列表
     *
     * @return java.util.List<com.yonyougov.devops.cruxcisupport.subscribe.SubscribeEntity>
     */
    List<SubscribeEntity> findAppsOfCurrentUserSub();
    //<!--用户自定义代码结束-->
}
